package com.jinkeen.xiaxie.anim

import android.animation.ObjectAnimator
import android.animation.ValueAnimator
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.jinkeen.xiaxie.databinding.ActivityAnmi2Binding

//https://www.jianshu.com/p/bce3f1d4e1f2
class Anmi2Activity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        val binding = ActivityAnmi2Binding.inflate(layoutInflater)
        setContentView(binding.root)
        // 作用：
        // 1. 创建动画实例
        // 2. 参数设置：
        // Object object：需要操作的对象
        // String property：需要操作的对象的属性
        // float ....values：动画初始值 & 结束值（不固定长度）
        // 若是两个参数a,b，则动画效果则是从属性的a值到b值
        // 若是三个参数a,b,c，则则动画效果则是从属性的a值到b值再到c值
        // 以此类推
        // 至于如何从初始值过渡到结束值，同样是由估值器决定，此处ObjectAnimator.ofFloat()是有系统内置的浮点型估值器FloatEvaluator，同ValueAnimator讲解
//        propertyName: lpha、rotation、translationX  scaleY 平移、旋转、缩放、透明度
        val anim = ObjectAnimator.ofFloat(binding.btnAnmi, "rotation", 0f, 360f)
        // 步骤2：设置动画属性
        // 设置动画运行的时长
        anim.duration = 500;

        // 设置动画延迟播放时间
        anim.startDelay = 500;

        // 设置动画重复播放次数 = 重放次数+1
        // 动画播放次数 = infinite时,动画无限重复
        anim.repeatCount = 0;

        // 设置重复播放动画模式
        anim.repeatMode = ValueAnimator.RESTART;
        // ValueAnimator.RESTART(默认):正序重放
        // ValueAnimator.REVERSE:倒序回放


        // 步骤3：启动动画
        anim.start()

        /*val circle=ObjectAnimator.ofObject(binding.myAnim,"color",Asd(),"#0000FF","#FF0000")
        circle.duration = 10000
        circle.repeatCount=4
        circle.start()*/

    }
}